This invention relates to querying databases.
A user at a client system may send a request for information to another system. The other system searches a collection of data for information satisfying the user""s request and returns any found information to the client system. In a network environment, the client system may include a computer terminal, the other system may include a server, and the collection of data may include a database. In such a network environment, the server may store and maintain the collection of data or the collection of data may be a separate data repository, such as a data server.
According to one aspect of the invention, querying databases includes receiving a query for information, the query including a common identifier for a plurality of collections of data and indicating whether a result of the query may include a null result, searching each of the collections of data for the information, and considering a speed of each of the collections of data in performing the searching.
According to another aspect of the invention, a system includes a file including information about collections of data included in a group of collections of data, each collection of data included in the group being associated with a common identifier. The system also includes a first mechanism configured to monitor if access to each of the collections of data is currently available and to determine a speed of each of the collections of data and a second mechanism configured to search the group in response to a query including the common identifier and to consider the availability and the speed of each of the collections of data in performing the search.
One or more of the following advantages may be provided by one or more aspects of the invention.
Grouping databases together in a common group or namespace can enable a user knowing only the common group or namespace to search multiple databases. Multiple databases in the common group or namespace can be searched transparently to the user and results can be returned to the user from any of the multiple databases. Results may be quickly located in the common group or namespace by searching the databases in the common group or namespace from fastest database to slowest database. Furthermore, if any of the databases included in the common group or namespace becomes unavailable for any reason, the other databases in the common group or namespace may still be searched and search results may still be provided to the user. In this way, a database pool can be provided with transparent reliability.
Other advantages and features will become apparent from the following description and from the claims.